*** Settings ***
Library           SeleniumLibrary
Library           String
Library           AutoItLibrary
Resource          ../../采购管理/采购目录.txt
Resource          ../../采购管理/采购品目.txt
Resource          ../../常用变量.txt
Resource          ../../基本配置.txt
Resource          ../../浏览器变量.txt
Resource          ../申请-事前/事前申请页面元素.txt
Resource          ../申请-事前/因公出差页面元素.txt
Resource          ../申请-事前/事前申请总单据-事前申请.txt
Resource          ../申请-事前/公务用车页面元素.txt
Resource          ../申请-事前/组织培训页面元素.txt
Resource          ../申请-事前/出国申请页面元素.txt
Resource          ../申请-事前/组织会议申请页面元素.txt
Resource          因公出差报销页面元素.txt
Resource          通用费用报销页面元素.txt

*** Test Cases ***
因公出差报销暂存成功
    [Documentation]    为了测试用例健壮性，第一步：新增因公出差申请并审核通过
    [Setup]    login
    log    因公出差费用报销申请
    log    为了测试用例健壮性，第一步：新增因公出差申请并审核通过
    goto    ${beforeApplyTravel_business_add}
    sleep    3
    ${applyReason}    ${apply_money}    add_business_apply_not_url_submit
    sleep    3
    log    事前申请总单据-事前申请走审核流程
    close browser
    #第二步：审核添加的因公出差申请单
    login-审核流程    cyadmin_cj001    123456
    goto    ${beforeApplyTravel_business_list}
    log    默认添加了关于[差率费]的项目，此处会自动关联
    sleep    6
    审核流程01
    close browser
    log    第三步：源申请账号重新登录
    login
    goto    ${expense_travel_add}
    log    因公出差报销添加页面
    通用费用报销-申请报销-选择申请单
    ${attachNumber}    设置两位随机数
    通用费用报销-票据张数    ${attachNumber}
    通用费用报销-消费方式
    通用费用报销-证明人
    因公出差报销-是否多次报销-否
    log    申请报销时，申请事由和金额自动带出
    Comment    ${applyReason}    设置申请理由-根据时间格式定制
    Comment    申请理由    ${applyReason}
    Comment    申请金额    1
    ${apply_person}    设置申请理由-根据时间格式定制
    通用费用报销-添加收款方    ${apply_person}
    sleep    3
    通用费用报销-添加收款方-收款方类型-个人
    通用费用报销-账户类型-公务卡
    ${bank_code}    设置开户行-根据时间格式定制
    通用费用报销-开户行    ${bank_code}
    ${account_code}    设置开户行-根据时间格式定制
    通用费用报销-账号    ${account_code}
    通用费用报销-收款金额    ${apply_money}
    sleep    3
    事情申请附件
    sleep    10
    事情申请暂存
    sleep    5
    通用费用报销添加成功断言    ${applyReason}
    [Teardown]    close

因公出差报销提交成功
    [Setup]    login
    log    因公出差费用报销申请
    log    为了测试用例健壮性，第一步：新增因公出差申请并审核通过
    goto    ${beforeApplyTravel_business_add}
    sleep    3
    ${applyReason}    ${apply_money}    add_business_apply_not_url_submit
    sleep    3
    log    事前申请总单据-事前申请走审核流程
    close browser
    #第二步：审核添加的因公出差申请单
    login-审核流程    cyadmin_cj001    123456
    goto    ${beforeApplyTravel_business_list}
    log    默认添加了关于[差率费]的项目，此处会自动关联
    sleep    6
    审核流程01
    close browser
    log    第三步：源申请账号重新登录
    login
    goto    ${expense_travel_add}
    log    因公出差报销添加页面
    通用费用报销-申请报销-选择申请单
    ${attachNumber}    设置两位随机数
    通用费用报销-票据张数    ${attachNumber}
    通用费用报销-消费方式
    通用费用报销-证明人
    因公出差报销-是否多次报销-否
    log    申请报销时，申请事由和金额自动带出
    Comment    ${applyReason}    设置申请理由-根据时间格式定制
    Comment    申请理由    ${applyReason}
    Comment    申请金额    1
    ${apply_person}    设置申请理由-根据时间格式定制
    通用费用报销-添加收款方    ${apply_person}
    sleep    3
    通用费用报销-添加收款方-收款方类型-个人
    通用费用报销-账户类型-公务卡
    ${bank_code}    设置开户行-根据时间格式定制
    通用费用报销-开户行    ${bank_code}
    ${account_code}    设置开户行-根据时间格式定制
    通用费用报销-账号    ${account_code}
    通用费用报销-收款金额    ${apply_money}
    sleep    3
    事情申请附件
    sleep    10
    事情申请提交
    sleep    5
    通用费用报销添加成功断言    ${applyReason}
    [Teardown]    close

因公出差报销修改成功
    [Setup]    login
    log    因公出差费用报销申请
    log    为了测试用例健壮性，第一步：新增因公出差申请并审核通过
    goto    ${beforeApplyTravel_business_add}
    sleep    3
    ${applyReason}    ${apply_money}    add_business_apply_not_url_submit
    sleep    3
    log    事前申请总单据-事前申请走审核流程
    close browser
    #第二步：审核添加的因公出差申请单
    login-审核流程    cyadmin_cj001    123456
    goto    ${beforeApplyTravel_business_list}
    log    默认添加了关于[差率费]的项目，此处会自动关联
    sleep    6
    审核流程01
    close browser
    log    第三步：源申请账号重新登录
    login
    goto    ${expense_travel_add}
    log    因公出差报销添加页面
    通用费用报销-申请报销-选择申请单
    ${attachNumber}    设置两位随机数
    通用费用报销-票据张数    ${attachNumber}
    通用费用报销-消费方式
    通用费用报销-证明人
    因公出差报销-是否多次报销-否
    log    申请报销时，申请事由和金额自动带出
    Comment    ${applyReason}    设置申请理由-根据时间格式定制
    Comment    申请理由    ${applyReason}
    Comment    申请金额    1
    ${apply_person}    设置申请理由-根据时间格式定制
    通用费用报销-添加收款方    ${apply_person}
    sleep    3
    通用费用报销-添加收款方-收款方类型-个人
    通用费用报销-账户类型-公务卡
    ${bank_code}    设置开户行-根据时间格式定制
    通用费用报销-开户行    ${bank_code}
    ${account_code}    设置开户行-根据时间格式定制
    通用费用报销-账号    ${account_code}
    通用费用报销-收款金额    ${apply_money}
    sleep    3
    事情申请附件
    sleep    10
    sleep    10
    事情申请暂存
    sleep    5
    log    =======因公出差报销点击修改按钮=====
    公务接待点击修改按钮
    ${attachNumber}    设置两位随机数
    通用费用报销-票据张数    ${attachNumber}
    ${applyReason}    设置申请理由-根据时间格式定制
    申请理由    ${applyReason}
    sleep    5
    事情申请暂存
    通用费用报销添加成功断言    ${applyReason}
    [Teardown]    close

因公出差报销删除-确认删除成功
    [Setup]    login
    log    通用费用报销-申请报销
    log    为了测试用例健壮性，第一步：新增事前申请并审核通过
    ${applyReason}    ${apply_money}    add_total_common_submit
    log    事前申请总单据-事前申请走审核流程
    close browser
    login-审核流程    cyadmin_cj001    123456
    goto    ${beforeApplyCommon_list}
    log    默认添加了关于[差率费]的项目，此处会自动关联
    sleep    6
    capture page screenshot
    sleep    3
    #点击审核按钮
    #获取窗口title
    ${business_checker_title}    get window handles
    log    ${business_checker_title}
    #进入审核页面
    因公出差点击审核
    sleep    3
    Comment    select window    new
    #点击确认审核通过
    采购申请审核流程-确认审核
    采购申请审核流程-审核确认时-保存
    log    审核流程01结束
    close browser
    log    源申请账号重新登录
    login
    goto    ${expense_claim_add}
    log    通用费用报销-默认申请报销
    通用费用报销-申请报销-选择申请单
    ${attachNumber}    设置两位随机数
    通用费用报销-票据张数    ${attachNumber}
    通用费用报销-消费方式
    通用费用报销-证明人
    log    申请报销时，申请事由和金额自动带出
    Comment    ${applyReason}    设置申请理由-根据时间格式定制
    Comment    申请理由    ${applyReason}
    Comment    申请金额    1
    ${apply_person}    设置申请理由-根据时间格式定制
    通用费用报销-添加收款方    ${apply_person}
    sleep    3
    通用费用报销-添加收款方-收款方类型-个人
    通用费用报销-账户类型-公务卡
    ${bank_code}    设置开户行-根据时间格式定制
    通用费用报销-开户行    ${bank_code}
    ${account_code}    设置开户行-根据时间格式定制
    通用费用报销-账号    ${account_code}
    通用费用报销-收款金额    ${apply_money}
    sleep    3
    事情申请附件
    sleep    10
    事情申请暂存
    sleep    5
    公务接待点击删除按钮
    sleep    3
    因公出差点击删除按钮-确认删除
    sleep    5
    page should not contain    ${applyReason}
    [Teardown]    close

因公出差报销删除-中断删除成功
    [Setup]    login
    log    通用费用报销-申请报销
    log    为了测试用例健壮性，第一步：新增事前申请并审核通过
    ${applyReason}    ${apply_money}    add_total_common_submit
    log    事前申请总单据-事前申请走审核流程
    close browser
    login-审核流程    cyadmin_cj001    123456
    goto    ${beforeApplyCommon_list}
    log    默认添加了关于[差率费]的项目，此处会自动关联
    sleep    6
    capture page screenshot
    sleep    3
    #点击审核按钮
    #获取窗口title
    ${business_checker_title}    get window handles
    log    ${business_checker_title}
    #进入审核页面
    因公出差点击审核
    sleep    3
    Comment    select window    new
    #点击确认审核通过
    采购申请审核流程-确认审核
    采购申请审核流程-审核确认时-保存
    log    审核流程01结束
    close browser
    log    源申请账号重新登录
    login
    goto    ${expense_claim_add}
    log    通用费用报销-默认申请报销
    通用费用报销-申请报销-选择申请单
    ${attachNumber}    设置两位随机数
    通用费用报销-票据张数    ${attachNumber}
    通用费用报销-消费方式
    通用费用报销-证明人
    log    申请报销时，申请事由和金额自动带出
    Comment    ${applyReason}    设置申请理由-根据时间格式定制
    Comment    申请理由    ${applyReason}
    Comment    申请金额    1
    ${apply_person}    设置申请理由-根据时间格式定制
    通用费用报销-添加收款方    ${apply_person}
    sleep    3
    通用费用报销-添加收款方-收款方类型-个人
    通用费用报销-账户类型-公务卡
    ${bank_code}    设置开户行-根据时间格式定制
    通用费用报销-开户行    ${bank_code}
    ${account_code}    设置开户行-根据时间格式定制
    通用费用报销-账号    ${account_code}
    通用费用报销-收款金额    ${apply_money}
    sleep    3
    事情申请附件
    sleep    10
    事情申请暂存
    sleep    5
    公务接待点击删除按钮
    sleep    3
    因公出差点击删除按钮-中断删除操作
    sleep    5
    page should contain    ${applyReason}
    [Teardown]    close

因公出差报销审核流程01
    [Setup]    login
    log    通用费用报销-申请报销
    log    为了测试用例健壮性，第一步：新增事前申请并审核通过
    ${applyReason}    ${apply_money}    add_total_common_submit
    log    事前申请总单据-事前申请走审核流程
    close browser
    login-审核流程    cyadmin_cj001    123456
    goto    ${beforeApplyCommon_list}
    log    默认添加了关于[差率费]的项目，此处会自动关联
    sleep    6
    capture page screenshot
    sleep    3
    #点击审核按钮
    #获取窗口title
    ${business_checker_title}    get window handles
    log    ${business_checker_title}
    #进入审核页面
    因公出差点击审核
    sleep    3
    Comment    select window    new
    #点击确认审核通过
    采购申请审核流程-确认审核
    采购申请审核流程-审核确认时-保存
    log    审核流程01结束
    close browser
    log    源申请账号重新登录
    login
    goto    ${expense_claim_add}
    log    通用费用报销-默认申请报销
    通用费用报销-申请报销-选择申请单
    ${attachNumber}    设置两位随机数
    通用费用报销-票据张数    ${attachNumber}
    通用费用报销-消费方式
    通用费用报销-证明人
    log    申请报销时，申请事由和金额自动带出
    Comment    ${applyReason}    设置申请理由-根据时间格式定制
    Comment    申请理由    ${applyReason}
    Comment    申请金额    1
    ${apply_person}    设置申请理由-根据时间格式定制
    通用费用报销-添加收款方    ${apply_person}
    sleep    3
    通用费用报销-添加收款方-收款方类型-个人
    通用费用报销-账户类型-公务卡
    ${bank_code}    设置开户行-根据时间格式定制
    通用费用报销-开户行    ${bank_code}
    ${account_code}    设置开户行-根据时间格式定制
    通用费用报销-账号    ${account_code}
    通用费用报销-收款金额    ${apply_money}
    sleep    3
    事情申请附件
    sleep    10
    事情申请提交
    sleep    5
    close browser
    login-审核流程    cyadmin_cj001    123456
    log    默认添加了关于[差率费]的项目，此处会自动关联
    sleep    6
    capture page screenshot
    sleep    3
    goto    ${expense_claim_list}
    #点击审核按钮
    审核流程01
    page should contain    ${applyReason}
    [Teardown]    close

因公出差报销只选择暂存成功
    [Documentation]    用例说明
    ...    1、没有因公出差申请单提交操作，对用例而言，健壮性比较弱
    [Setup]    login
    log    因公出差费用报销申请
    goto    ${expense_travel_add}
    log    因公出差报销添加页面
    通用费用报销-申请报销-选择申请单
    ${attachNumber}    设置两位随机数
    通用费用报销-票据张数    ${attachNumber}
    通用费用报销-消费方式
    通用费用报销-证明人
    因公出差报销-是否多次报销-否
    log    申请报销时，申请事由和金额自动带出
    ${applyReason}    设置申请理由-根据时间格式定制
    申请理由    ${applyReason}
    Comment    申请金额    1
    log    修改报销申请中返程日期为当天
    因公出差页面点击出差返回日期按钮
    sleep    3
    因公出差设置出差返回日期是当天
    ${apply_person}    设置申请理由-根据时间格式定制
    通用费用报销-添加收款方    ${apply_person}
    sleep    3
    通用费用报销-添加收款方-收款方类型-个人
    通用费用报销-账户类型-公务卡
    ${bank_code}    设置开户行-根据时间格式定制
    通用费用报销-开户行    ${bank_code}
    ${account_code}    设置开户行-根据时间格式定制
    通用费用报销-账号    ${account_code}
    ${apply_money}    因公出差报销获取报销金额
    通用费用报销-收款金额    ${apply_money}
    sleep    3
    事情申请附件
    sleep    10
    事情申请暂存
    sleep    5
    通用费用报销添加成功断言    ${applyReason}
    [Teardown]    close

因公出差报销只选择提交成功
    [Documentation]    用例说明
    ...    1、没有因公出差申请单提交操作，对用例而言，健壮性比较弱
    [Setup]    login
    log    因公出差费用报销申请
    goto    ${expense_travel_add}
    log    因公出差报销添加页面
    通用费用报销-申请报销-选择申请单
    ${attachNumber}    设置两位随机数
    通用费用报销-票据张数    ${attachNumber}
    通用费用报销-消费方式
    通用费用报销-证明人
    因公出差报销-是否多次报销-否
    log    申请报销时，申请事由和金额自动带出
    ${applyReason}    设置申请理由-根据时间格式定制
    申请理由    ${applyReason}
    Comment    申请金额    1
    log    修改报销申请中返程日期为当天
    因公出差页面点击出差返回日期按钮
    sleep    3
    因公出差设置出差返回日期是当天
    ${apply_person}    设置申请理由-根据时间格式定制
    通用费用报销-添加收款方    ${apply_person}
    sleep    3
    通用费用报销-添加收款方-收款方类型-个人
    通用费用报销-账户类型-公务卡
    ${bank_code}    设置开户行-根据时间格式定制
    通用费用报销-开户行    ${bank_code}
    ${account_code}    设置开户行-根据时间格式定制
    通用费用报销-账号    ${account_code}
    ${apply_money}    因公出差报销获取报销金额
    通用费用报销-收款金额    ${apply_money}
    sleep    3
    事情申请附件
    sleep    10
    事情申请提交
    sleep    5
    通用费用报销添加成功断言    ${applyReason}
    [Teardown]    close

因公出差报销只选择修改成功
    [Documentation]    用例说明
    ...    1、没有因公出差申请单提交操作，对用例而言，健壮性比较弱
    [Setup]    login
    log    因公出差费用报销申请
    goto    ${expense_travel_add}
    log    因公出差报销添加页面
    Business_trip_expense_reimbursement_staging
    log    =======因公出差报销点击修改按钮=====
    goto    ${expense_travel_list}
    sleep    5
    公务接待点击修改按钮
    ${attachNumber}    设置两位随机数
    通用费用报销-票据张数    ${attachNumber}
    ${applyReason}    设置申请理由-根据时间格式定制
    申请理由    ${applyReason}
    sleep    5
    事情申请暂存
    sleep    5
    通用费用报销添加成功断言    ${applyReason}
    [Teardown]    close

因公出差报销只选择-审核流程01
    [Documentation]    用例说明
    ...    1、没有因公出差申请单提交操作，对用例而言，健壮性比较弱
    [Setup]    login
    log    因公出差费用报销申请
    goto    ${expense_travel_add}
    log    因公出差报销添加页面
    ${applyReason}    ${expense_money}    Business_trip_expense_reimbursement_submit
    close browser
    login-审核流程    cyadmin_cj001    123456
    goto    ${expense_travel_list}
    log    默认添加了关于[差率费]的项目，此处会自动关联
    sleep    6
    capture page screenshot
    sleep    3
    #点击审核按钮
    #获取窗口title
    ${business_checker_title}    get window handles
    log    ${business_checker_title}
    #进入审核页面
    因公出差点击审核
    sleep    3
    Comment    select window    new
    #点击确认审核通过
    采购申请审核流程-确认审核
    采购申请审核流程-审核确认时-保存
    log    审核流程01结束
    通用费用报销添加成功断言-申请事由    ${applyReason}
    close browser
    [Teardown]    close

因公出差报销修改成功-选择收款单位
    [Setup]    login
    log    因公出差费用报销申请
    goto    ${expense_travel_add}
    log    因公出差报销添加页面
    Business_trip_expense_reimbursement_select_staging
    log    =======因公出差报销点击修改按钮=====
    goto    ${expense_travel_list}
    sleep    5
    公务接待点击修改按钮
    ${attachNumber}    设置两位随机数
    通用费用报销-票据张数    ${attachNumber}
    ${applyReason}    设置申请理由-根据时间格式定制
    申请理由    ${applyReason}
    sleep    5
    事情申请暂存
    sleep    5
    通用费用报销添加成功断言    ${applyReason}
    [Teardown]    close

因公出差报销只选择-审核流程01-选择收款单位
    [Documentation]    用例说明
    ...    1、没有因公出差申请单提交操作，对用例而言，健壮性比较弱
    [Setup]    login
    log    因公出差费用报销申请
    goto    ${expense_travel_add}
    log    因公出差报销添加页面
    ${applyReason}    ${apply_money}    Business_trip_expense_reimbursement_select_submit
    close browser
    login-审核流程    cyadmin_cj001    123456
    goto    ${expense_travel_list}
    log    默认添加了关于[差率费]的项目，此处会自动关联
    sleep    6
    capture page screenshot
    sleep    3
    #点击审核按钮
    #获取窗口title
    ${business_checker_title}    get window handles
    log    ${business_checker_title}
    #进入审核页面
    因公出差点击审核
    sleep    3
    Comment    select window    new
    #点击确认审核通过
    采购申请审核流程-确认审核
    采购申请审核流程-审核确认时-保存
    log    审核流程01结束
    通用费用报销添加成功断言-申请事由    ${applyReason}
    close browser
    [Teardown]    close
